<?php

class Evento {

    function selecionarTudo($admin) {
        $con = new mysqli();
        $con = Connection::getConnection();

        $stmt = $con->prepare("SELECT evento_id, evento_nome, evento_descricao, evento_data FROM evento ORDER BY evento_data ASC");
        $stmt->execute();
        $stmt->store_result();
        $count = $stmt->num_rows;

        if ($count > 0) {
            $stmt->bind_result($evento_id, $evento_nome, $evento_descricao, $evento_data);
            echo '<table class="dados">';
            if ($admin) {
                echo '<thead>';
                echo '  <tr>';
                echo '  <th>Data</th>';
                echo '  <th>Nome</th>';                
                echo '  <th>Descricao</th>';
                if (isset($_SESSION['logado']) && $_SESSION['logado'] == 1 && $admin) {
                    echo '  <th></th>';
                }
                echo '  </tr>';
                echo '</thead>';
            }
            echo '  <tbody>';
            while ($stmt->fetch()) {
                echo '<tr>';
                echo '  <td>';
                echo $this->formatarDataBR($evento_data);
                echo '  </td>';
                echo '  <td>';
                echo $evento_nome;
                echo '  </td>';
                echo '  <td>';
                echo $evento_descricao;
                echo '  </td>';
                if (isset($_SESSION['logado']) && $_SESSION['logado'] == 1 && $admin) {
                    echo '  <td><label onclick="excluir(' . $evento_id . ')" class="excluir">';
                    echo 'excluir';
                    echo '  </label></td">';
                }
                echo '</tr>';
            }
            echo '  </tbody>';
            echo '</table>';
        } else if($admin) {
            echo 'Nenhum registro encontrado.';
        }

        $con->close();
    }

    function selecionarTudoParaEvento() {
        $con = new mysqli();
        $con = Connection::getConnection();

        $sql = "SELECT 'Evento' as tipo, evento_nome as nome, evento_descricao as descricao, evento_data as data FROM evento  WHERE evento_data >= CURDATE() OR evento_data =  '00/00/0000' ";
        $sql .= "UNION ";
        $sql .= "SELECT  'Curso' as tipo, curso_nome as nome, curso_descricao as descricao, curso_data as data FROM curso_nautico WHERE curso_data >= CURDATE() OR curso_data =  '00/00/0000' ";
        $sql .= "UNION ";
        $sql .= "SELECT  'Aula Prática' as tipo, aula_nome as nome, aula_descricao as descricao, aula_data as data FROM aula_pratica  WHERE aula_data >= CURDATE() OR aula_data =  '00/00/0000' ";
        $sql .= "order by data limit 10";

        $stmt = $con->prepare($sql);
        $stmt->execute();
        $stmt->store_result();
        $count = $stmt->num_rows;

        if ($count > 0) {
            $stmt->bind_result($tipo, $nome, $descricao, $data);
            while ($stmt->fetch()) {
                echo '<tr title="' . $descricao . '">';
                echo '  <td style="width:30%">';
                echo $this->formatarDataBR($data);
                echo '  </td>';
//                echo '  <td style="width:20%">';
//                echo $tipo;
//                echo '  </td>';
                echo '  <td>';
                echo $nome;
                echo '  </td>';
                echo '</tr>';
            }
        } else {
            echo '<tr>';
            echo '  <td colspan="3">Nenhum evento agendado</td>';
            echo '</tr>';
        }

        $con->close();
    }

    function excluir() {
        $con = new mysqli();
        $con = Connection::getConnection();

        $evento_id = $_POST['evento_id'];
        if (empty($evento_id)) {
            header("HTTP/1.0 400 ID inválido");
            return;
        }

        $stmt = $con->prepare("DELETE FROM evento WHERE evento_id = ?");
        $stmt->bind_param('i', $evento_id);
        $stmt->execute();
        $count = $stmt->affected_rows;

        if ($count == 0) {
            header("HTTP/1.0 500 Falha ao deletar o registro. Contate o administrador.");
        }

        $con->close();
    }

    function adicionar() {
        $con = new mysqli();
        $con = Connection::getConnection();

        $evento_descricao = $_POST['evento_descricao'];
        if (empty($evento_descricao)) {
            header("HTTP/1.0 400 A descrição da evento não pode estar em branco.");
            return;
        }

        $evento_data = $_POST['evento_data'];
        if (empty($evento_data)) {
            $evento_data = '00/00/0000';
        }

        $evento_nome = $_POST['evento_nome'];
        if (empty($evento_nome)) {
            header("HTTP/1.0 400 O nome da evento não pode estar em branco.");
            return;
        }

        $stmt = $con->prepare("INSERT INTO evento (evento_nome, evento_descricao, evento_data) VALUES (?, ?, ?)");
        $stmt->bind_param('sss', $evento_nome, $evento_descricao, $this->formatarDataUS($evento_data));

        $stmt->execute();
        $count = $stmt->affected_rows;

        if ($count == 0) {
            header("HTTP/1.0 500 Falha ao inserir o registro. Contate o administrador.");
        }

        $con->close();
    }

    function formatarDataBR($date) {
        $newdate = strtotime($date);
        if($newdate < 0){
//            $currentdate = mktime(0, 0, 0, date("m"), date("d") - 1, date("Y"));
//            return $day_eg1 = date('d/m/Y', $currentdate);
            return "Todos os Dias";
        }
        return date('d/m/Y', $newdate);
    }

    function formatarDataUS($date) {
        $array = explode('/', $date);
        return $array[2] . $array[1] . $array[0];
    }

}

?>
